1. Field of the Invention
The present invention relates generally to techniques for processing a multiple windows display in a computer graphics system, and more specifically to an arrangement for selectively supplying a frame buffer with pixel data which are to be displayed in exposed portions of multiple overlapping windows. The present invention is able to effectively accelerate the overall speed of a multiple windows display system.
2. Description of the Related Art
The ability to display multiple overlapping windows which are controlled by separate applications, has become a necessity in a multimedia information processing system. Without hardware support for this capability, the overall speed of a multiple windows display may suffer seriously.
Before turning to the present invention, it is deemed advantageous to discuss related techniques with reference to FIGS. 1 to 4.
FIG. 1 is a block diagram schematically showing a conventional arrangement for displaying multiple windows which are respectively provided for separate applications.
The arrangement of FIG. 1 includes three (3) video data capture units 10, 12 and 14, a CPU (Central Processing Unit) 16, a main memory 18, a keyboard (viz., man-machine interface) 20, a frame buffer 22, a video controller 23, and a display 24. The blocks other than the video controller 23 and the display 24, are operatively coupled to a system bus 26. As is known, the video controller 23 displays the video image, defined in the frame buffer 22, on the display 24.
Each of the video data capture units 10, 12 and 14 is provided to obtain video images from corresponding video sources. A video data capture unit per se is well known in the art and does not directly relate to the present invention and, therefore, further discussion thereof will be omitted for the sake of simplifying the instant disclosure.
FIG. 2 shows schematically a location of each of three windows A, B and C which are separately opened on the display 24 (or stored in the frame buffer 22) of 1024.times.1280 pixels merely by way of example. It is assumed that the windows A, B and C are generated to display pixel data which are supplied from the units 10, 12 and 14 (FIG. 1), respectively.
FIG. 3 illustrates the situation wherein windows A, B and C are simultaneously opened on the display 24 and wherein window B overlaps window A while window C overlaps window B.
FIG. 4 illustrates obscured or hidden portions of each of the windows A and B. In this case, the hidden portions are respectively depicted as hatched portions X and Y, respectively.
The operations of the arrangement of FIG. 1 will now be briefly described.
The CPU 16 first allows pixel data (viz., graphics information), which are obtained from the video data capture unit 10 and defined by window A, to be loaded into the frame buffer 22. Following this, the CPU 16 writes pixel data, which are obtained from the video data capture unit 12 and defined by window B, into the frame buffer 22. Thus, the information in the hatched portion X is overwritten by the information of window B. Subsequently, the CPU 16 writes pixel data, which are obtained from the video data capture unit 14 and defined by window C, into the frame buffer 22. Therefore, the information of window B, which has been stored in the hatched portion Y, is overwritten by the pixel data of the corresponding area of window C.
In the operations mentioned above, when the pixel data are transferred from the video data capture units 10, 12 and 14 to the frame buffer 22, the CPU 16 writes window background information, associated with each of the windows A, B and C, into the frame buffer 22. It should be noted however, that writing the window background information into the frame buffer 22, is not directly concerned with the present invention.
After the pixel data transfer from the units 10, 12 and 14 to the frame buffer 22 under the control of the CPU 16, the pixel data in the exposed portions of the windows A, B and C are displayed on the display 24 as shown in FIG. 3.
However, the arrangement of FIG. 1 has suffered from the problem in that the pixel data, which are not actually displayed (viz., data in the hatched portions X and Y of FIG. 4 in this particular case), are unnecessarily loaded into the frame buffer 22. The transfer of the pixel data, which are not actually displayed, to the frame buffer 22, represents an unnecessary load and leads to degradation of the overall speed of the multiple windows processing. It is understood that as the obscured portions of the multiple windows increase in size, a noticeable increase in the amount of time wasted in transferring the non-displayed data to the frame buffer 22 occurs. It is therefore highly desirable to write only the pixel data, which is actually going to be displayed, into the frame buffer 22.